package com.rt.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.rt.common.annotation.Excel;
import com.rt.common.core.domain.BaseEntity;

/**
 * 试卷信息对象 rt_exam_paper_info
 * 
 * @author Yg
 * @date 2022-05-09
 */
public class RtExamPaperInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 试卷id */
    private Long id;

    /** 考试id */
    @Excel(name = "考试id")
    private Long examTypeId;

    /** 考试名称 */
    @Excel(name = "考试名称")
    private String examTypeName;

    /** 科目id */
    @Excel(name = "科目id")
    private Long subjectId;

    /** 科目 */
    @Excel(name = "科目")
    private String subject;

    /** 组卷策略id */
    @Excel(name = "组卷策略id")
    private Long assemblyId;

    /** 组卷策略 */
    @Excel(name = "组卷策略")
    private String assembly;

    /** 试卷编码 */
    @Excel(name = "试卷编码")
    private String paperNumber;

    /** 试卷名称 */
    @Excel(name = "试卷名称")
    private String paperName;

    /** 试卷难度 1:易；2:较易；3:中；4：较难；5：难 */
    @Excel(name = "试卷难度 1:易；2:较易；3:中；4：较难；5：难")
    private BigDecimal difficulty;

    /** 总题数 */
    @Excel(name = "总题数")
    private Integer total;

    /** 总分数 */
    @Excel(name = "总分数")
    private BigDecimal totalScore;

    /** 试卷信息 */
    @Excel(name = "试卷信息")
    private String jsonPaper;

    /** 答案信息 */
    @Excel(name = "答案信息")
    private String jsonAnswer;

    /** 状态，0无效，1有效 */
    @Excel(name = "状态，0未发布，1已发布")
    private Integer status;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createName;

    /** 考试时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "考试时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date examTime;

    /** 考试时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date releaseTime;

    /** 使用单位 */
    @Excel(name = "使用单位")
    private Long useNearest;

    /** 所属地区 */
    @Excel(name = "所属地区")
    private Long belongArea;

    /** 地市 */
    @Excel(name = "地市")
    private String area;

    private List<RtExamPaperQuestions> rtExamPaperQuestions;

    public List<RtExamPaperQuestions> getRtExamPaperQuestions() {
        return rtExamPaperQuestions;
    }

    public void setRtExamPaperQuestions(List<RtExamPaperQuestions> rtExamPaperQuestions) {
        this.rtExamPaperQuestions = rtExamPaperQuestions;
    }

    public String getPaperNumber() {
        return paperNumber;
    }

    public void setPaperNumber(String paperNumber) {
        this.paperNumber = paperNumber;
    }

    public String getExamTypeName() {
        return examTypeName;
    }

    public void setExamTypeName(String examTypeName) {
        this.examTypeName = examTypeName;
    }

    public String getAssembly() {
        return assembly;
    }

    public void setAssembly(String assembly) {
        this.assembly = assembly;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public Date getReleaseTime() {
        return releaseTime;
    }

    public void setReleaseTime(Date releaseTime) {
        this.releaseTime = releaseTime;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setExamTypeId(Long examTypeId) 
    {
        this.examTypeId = examTypeId;
    }

    public Long getExamTypeId() 
    {
        return examTypeId;
    }
    public void setSubjectId(Long subjectId) 
    {
        this.subjectId = subjectId;
    }

    public Long getSubjectId() 
    {
        return subjectId;
    }
    public void setAssemblyId(Long assemblyId) 
    {
        this.assemblyId = assemblyId;
    }

    public Long getAssemblyId() 
    {
        return assemblyId;
    }
    public void setPaperName(String paperName) 
    {
        this.paperName = paperName;
    }

    public String getPaperName() 
    {
        return paperName;
    }
    public void setDifficulty(BigDecimal difficulty)
    {
        this.difficulty = difficulty;
    }

    public BigDecimal getDifficulty()
    {
        return difficulty;
    }
    public void setTotal(Integer total) 
    {
        this.total = total;
    }

    public Integer getTotal() 
    {
        return total;
    }
    public void setTotalScore(BigDecimal totalScore)
    {
        this.totalScore = totalScore;
    }

    public BigDecimal getTotalScore()
    {
        return totalScore;
    }
    public void setJsonPaper(String jsonPaper) 
    {
        this.jsonPaper = jsonPaper;
    }

    public String getJsonPaper() 
    {
        return jsonPaper;
    }
    public void setJsonAnswer(String jsonAnswer) 
    {
        this.jsonAnswer = jsonAnswer;
    }

    public String getJsonAnswer() 
    {
        return jsonAnswer;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setCreateName(String createName) 
    {
        this.createName = createName;
    }

    public String getCreateName() 
    {
        return createName;
    }
    public void setExamTime(Date examTime) 
    {
        this.examTime = examTime;
    }

    public Date getExamTime() 
    {
        return examTime;
    }
    public void setUseNearest(Long useNearest) 
    {
        this.useNearest = useNearest;
    }

    public Long getUseNearest() 
    {
        return useNearest;
    }
    public void setBelongArea(Long belongArea) 
    {
        this.belongArea = belongArea;
    }

    public Long getBelongArea() 
    {
        return belongArea;
    }

    @Override
    public String toString() {
        return "RtExamPaperInfo{" +
                "id=" + id +
                ", examTypeId=" + examTypeId +
                ", subjectId=" + subjectId +
                ", assemblyId=" + assemblyId +
                ", paperName='" + paperName + '\'' +
                ", difficulty=" + difficulty +
                ", total=" + total +
                ", totalScore=" + totalScore +
                ", jsonPaper='" + jsonPaper + '\'' +
                ", jsonAnswer='" + jsonAnswer + '\'' +
                ", status=" + status +
                ", createName='" + createName + '\'' +
                ", examTime=" + examTime +
                ", useNearest=" + useNearest +
                ", belongArea=" + belongArea +
                '}';
    }
}
